import {
  Entity,
  Column,
  PrimaryGeneratedColumn,
  CreateDateColumn,
  UpdateDateColumn,
} from 'typeorm';

@Entity('tb_token') // 定义表名为 tb_token
export class Token {
  // 主键，使用 UUID 生成
  @PrimaryGeneratedColumn('uuid')
  id: string;

  // 用户 ID，外键关联到用户表
  @Column({ nullable: false })
  userId: number;

  // Token 值
  @Column({ type: 'text', nullable: false })
  token: string;

  // 刷新令牌值
  @Column({ type: 'text', nullable: true })
  refreshToken: string;

  // Token 过期时间
  @Column({ type: 'timestamp', nullable: false })
  expiresAt: Date;

  // Token 创建时间
  @CreateDateColumn()
  createDate: Date;

  // Token 更新时间
  @UpdateDateColumn()
  updateDate: Date;
}
